/**
 * 
 */

package com.gustozzi.distribucion.negocio;

import java.util.List;

import com.gustozzi.distribucion.dao.util.DataAccessExceptions;
import com.gustozzi.domain.Cliente;
import com.gustozzi.domain.Cobranza;
import com.gustozzi.domain.OrdenCobranza;
import com.gustozzi.domain.Pago;
import com.gustozzi.domain.SolicitudCobranza;

/**
 * @author FABRIZIO
 * 
 */
public interface CobranzaBO
{

    public List<Cobranza> obtenerListaCobranza(String rucCliente, String dni, String razonSocial,
            String centroDistribucion, String cobrador, String fechaDesde, String fechaHasta)
            throws DataAccessExceptions;

    public List<SolicitudCobranza> obtenerListaSolicitudesCobranza(String codigo, String zona, String fechaDesde,
            String fechaHasta) throws DataAccessExceptions;

    public List<OrdenCobranza> obtenerListaOrdenesCobranza(String codigo, String numeroDocumento, String fechaDesde,
            String fechaHasta) throws DataAccessExceptions;

    public List<Pago> obtenerListaPagos(String codigo, String documentoCliente, String fechaDesde, String fechaHasta)
            throws DataAccessExceptions;
    
    public String eliminarSolicitudCobranza(String codigo) throws DataAccessExceptions;
    
    public String guardarSolicitudCobranza(String codigoSolicitud, String codigoCobrador, String codigoEstado,
            List<Cliente> listaClientes, String fechaSolicitud, boolean indicadorRegistro) throws DataAccessExceptions;
    
    public List<Cliente> obtenerListaClientesXSolicitud(String codigoSolicitud) throws DataAccessExceptions;
}